<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Symbol</title>
</head>

<body>
  <script>
    // // 创建方式一
    // let x = Symbol();
    // console.log(x, typeof x); //Symbol() 'symbol'
    // // 创建方式二
    // let a = Symbol('描述1'); //Symbol是一个函数
    // let b = Symbol('描述2');
    // console.log(a === b); //false
    // // 创建方式三：使用方法 函数对象
    // let c = Symbol.for('描述3'); //Symboe是一个对象
    // console.log(c, typeof c); //Symbol(描述3) 'symbol'
    // let d = Symbol.for('描述3'); //Symboe是一个对象
    // console.log(c === d); //true

    // // 不能与其他数据进行运算和对比
    // let x = Symbol.for('张三');
    // let ret1 = x + 100;//报错
    // let ret2 = x >100;//报错
    // let ret3 = x + 'zhangsan'; //报错

    // let game = {}

    // // 声明一个对象
    // let methods = {
    //   up: Symbol(),
    //   down: Symbol()
    // }
    // 

    // game[methods.up] = function () {
    //   console.log('上升');
    // }
    // game[methods.down] = function () {
    //   console.log('下降');
    // }
    // console.log(game);

    let person = {
      name: '張三',
      // eat是静态值
      eat: function () {
        console.log('吃饭');
      },
      // Symbol():function(){ console.log('Symbol()是动态值');}
      [Symbol('描述字符串')]: function () {
        console.log('我可以发言');
      },
      [Symbol('注意身体')]: function () {
        console.log('打印');
      }
    }


    console.log(person);
  </script>
</body>

</html>